package overload;

class Calculator{
	
	// 最经典案例构造方法重载
	public Calculator() {
	}
	public Calculator(int i) {
	}
	public Calculator(int i,int j) {
	}
	
	// 1.方法名相同 2.参数类型或个数不同，这样的功能相同的方法之间构成了方法重载
	// 方法重载跟访问修饰符和返回值类型无关
	public int add(int a,int b) {
		System.out.println("1");
		return a + b;
	}
	public int add(int a,int b,int c) {
		System.out.println("2");
		return a + b + c;
	}
	public float add(float a,float b) {
		System.out.println("3");
		return a + b;
	}
	public double add(double a,double b) {
		System.out.println("4");
		return a + b;
	}
}
public class CalculatorDemo {
	public static void main(String[] args) {
		Calculator c = new Calculator();
		//c.add(1, 2);       // int,int
		//c.add(1, 2, 3);    // int,int,int
		//c.add(1.1F, 2.2F); // float,float
		//c.add(1.1, 2.2);   // double,double
		c.add(1, 1.1);       // int,float
	}
}
